Item Rarity support gem

"
etunne написал:
One thing to understand about IIR and IIQ is that they scale with each other - you really need IIQ to make IIR useful (Unlike IIR, IIQ is useful by itself, but it's also a lot harder to get lots of)



If it's true that Item Rarity does not affect the explosion from Infernal Blow, then that leaves me to wonder: Why the fuck not GGG?


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
"
generalmx написал:


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.


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
"
True_Apathy написал:
"
Undon3 написал:
"
KenBordel написал:
correct me if i'm wrong but if RNG ( -->random<-- number generator) can be affected by IIR and IIQ then its not really random is it? derp

You're wrong, it is still random, but with a modified generation algorithm.


Thanks <3


TRAWLOLOL
"
johnKeys написал:


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.


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

Пожаловаться на запись форума

Пожаловаться на учетную запись:

Тип жалобы

Дополнительная информация