MCPcopy Create free account
hub / github.com/diasurgical/DevilutionX / OperateSlainHero

Function OperateSlainHero

Source/objects.cpp:2232–2257  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2230}
2231
2232void OperateSlainHero(const Player &player, Object &corpse, bool sendmsg)
2233{
2234 if (corpse._oSelFlag == 0) {
2235 return;
2236 }
2237 corpse._oSelFlag = 0;
2238
2239 SetRndSeed(corpse._oRndSeed);
2240
2241 if (player._pClass == HeroClass::Warrior) {
2242 CreateMagicArmor(corpse.position, ItemType::HeavyArmor, ICURS_BREAST_PLATE, sendmsg, false);
2243 } else if (player._pClass == HeroClass::Rogue) {
2244 CreateMagicWeapon(corpse.position, ItemType::Bow, ICURS_LONG_BATTLE_BOW, sendmsg, false);
2245 } else if (player._pClass == HeroClass::Sorcerer) {
2246 CreateSpellBook(corpse.position, SpellID::Lightning, sendmsg, false);
2247 } else if (player._pClass == HeroClass::Monk) {
2248 CreateMagicWeapon(corpse.position, ItemType::Staff, ICURS_WAR_STAFF, sendmsg, false);
2249 } else if (player._pClass == HeroClass::Bard) {
2250 CreateMagicWeapon(corpse.position, ItemType::Sword, ICURS_BASTARD_SWORD, sendmsg, false);
2251 } else if (player._pClass == HeroClass::Barbarian) {
2252 CreateMagicWeapon(corpse.position, ItemType::Axe, ICURS_BATTLE_AXE, sendmsg, false);
2253 }
2254 MyPlayer->Say(HeroSpeech::RestInPeaceMyFriend);
2255 if (sendmsg)
2256 NetSendCmdLoc(MyPlayerId, false, CMD_OPERATEOBJ, corpse.position);
2257}
2258
2259void OperateTrapLever(Object &flameLever)
2260{

Callers 2

OperateObjectFunction · 0.85
SyncOpObjectFunction · 0.85

Calls 6

SetRndSeedFunction · 0.85
CreateMagicArmorFunction · 0.85
CreateMagicWeaponFunction · 0.85
CreateSpellBookFunction · 0.85
NetSendCmdLocFunction · 0.85
SayMethod · 0.80

Tested by

no test coverage detected