In char_item.cpp wird die Funktion AggregateMonster aufgerufen, in etwa so:
- case UNIQUE_ITEM_CAPE_OF_COURAGE:
- //¶ó¸¶´Ü º¸»ó¿ë ¿ë±âÀÇ ¸ÁÅä
- case 70057:
- case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
- AggregateMonster();
- item->SetCount(item->GetCount()-1);
- break;
Du könntest dann eine eigene Funktion in der CHARACTER Klasse schreiben, die dir basierend auf dem Level einen Yang-Wert ausgibt. Die Logik dahinter müsstest du dann definieren. Ein Beispiel wäre return Char-Level * 10; dann bezahlt man halt skalierend mit dem eigenen Level.
Dann änderst du jedes Mal, wenn AggregateMonster oder SetCount ausgeführt wird, das Gold von dem Char:
- case UNIQUE_ITEM_CAPE_OF_COURAGE:
- //¶ó¸¶´Ü º¸»ó¿ë ¿ë±âÀÇ ¸ÁÅä
- case 70057:
- case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
- AggregateMonster();
- item->SetCount(item->GetCount()-1);
- this->SetGold(GetGold() - 100); //100 Yang pro Pull
- break;
Wenn du willst, dass man keine Umhänge benutzen kann wenn das Yang leer ist, dann bau das so oder so ähnlich um und deaktiviere den automatischen Umhang:
- case UNIQUE_ITEM_CAPE_OF_COURAGE:
- //¶ó¸¶´Ü º¸»ó¿ë ¿ë±âÀÇ ¸ÁÅä
- case 70057:
- case REWARD_BOX_UNIQUE_ITEM_CAPE_OF_COURAGE:
- if ((GetGold() - 100) >= 100)
- {
- AggregateMonster();
- item->SetCount(item->GetCount() - 1);
- this->SetGold(GetGold() - 100); //100 Yang pro Pull
- }
- else
- {
- //Umhang deaktivieren
- }
- break;
Alles anzeigen