Item Rarity support gem
" Probably for the same reason it doesn't effect DoTs either -- because they're probably an independent effect flagged on the monster, not tied to the original caster. This is pretty common in MMOs. If you know anything about programming, this might look familiar: Monster:Explode(); versus Player:CauseExplosion(Monster); Just a guess. Последняя редакция: generalmx#7853. Время: 16 мар. 2013 г., 00:58:58
|
![]() |
" looking at your pseudo-code, I think GGG went for the second option, as would 90% of programmers. Player.causeExplosion(Monster) is so much better even on first sight. giving a function an object to "play with" AND linking it to the caller (Player) opens a world of possibilities. one of which can be Monster.explode() done somewhere inside the code, among many, many other things. there are serious synchronization issues to be considered though. namely who "player" is (when several players attack the same monster), and in what order the functions are invoked and access shared resources in cooperative play. not as easy, is it? that's just one of the reasons why I already admire GGG's work with this game, even in this early Beta stage. Alva: I'm sweating like a hog in heat Shadow: That was fun Последняя редакция: johnKeys#6083. Время: 16 мар. 2013 г., 04:07:31
|
![]() |
" TRAWLOLOL |
![]() |
" Well the thing is, InferalBlow causes explosion *on death*, and that's already almost certainly an event for the monster object to handle. So when I said "Monster:Explode()" I actually meant something more like... Player:SendEvent(Monster, InfernalBlow) ... Inside --> Monster:ReceiveEvent(Player, InfernalBlow) <-- if event == InfernalBlow then Monster:AddOnDeathEvent(Explode) ... if Monster:Life() <= 0 then Monster:Die() Inside --> Monster:Die() <-- If DeathFlags == Explode then Monster:Explode(Monster:MaxLife() * 0.2) The idea of entities sending events/messages to other entities and those entities setting flags without player ownership is pretty common, is what I meant. Depending on how PoE is coded it could be incredibly simple to slightly complex to fix. Последняя редакция: generalmx#7853. Время: 18 мар. 2013 г., 03:00:10
|
![]() |