#exult@irc.freenode.net logs for 19 Jan 2013 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage

[00:13:49] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 18.0/20130104151925])
[01:32:54] <Marzo> Dominus: lots of new stuff ready to test, best tested with 'show hits' option turned off
[01:35:29] <Marzo> And I am off for the night
[01:40:04] <-- Marzo has left IRC (Ping timeout: 248 seconds)
[03:14:54] <-- Kirben has left IRC ()
[03:38:08] --> Kirben has joined #exult
[03:38:08] --- ChanServ gives channel operator status to Kirben
[06:54:51] <-- Matt_O has left IRC (Quit: Leaving)
[09:09:46] <Dominus> if I manage to get my gf angry with me, I'll have time to play a bit tonight :)
[12:38:17] --> Marzo has joined #exult
[12:43:26] <-- Kirben has left IRC ()
[12:48:44] --> Necrs1mia84 has joined #exult
[12:48:57] <-- Necrs1mia84 has left #exult
[16:26:26] --> Malignant_Manor has joined #exult
[16:26:57] <Malignant_Manor> Marzo: Exult really handles things differently for combat/alignment.
[16:27:15] <Marzo> How so?
[16:27:31] <Malignant_Manor> Have you looked at the tracker?
[16:28:06] <Malignant_Manor> I just added the kill_npc flag that gets set when you attack to one comment.
[16:28:56] <Malignant_Manor> Then there is the whole charmed alignment thing.
[16:30:10] <Marzo> > Fight_back checks alignment
[16:30:14] <Marzo> This is intentional
[16:30:24] <Marzo> Dupre may be charmed, but he is still your friend
[16:30:48] <Malignant_Manor> Well, charmed to good npcs will not attack back.
[16:31:03] <Marzo> Hm, good point
[16:31:36] <Malignant_Manor> Charmed allies get attacked in the original. The combat is horrible real time though.
[16:32:06] <Malignant_Manor> I'm not sure if it is done in fight back but they are already targets anyway.
[16:32:10] <Marzo> Anyway, I am looking into your other bugs right now; when I am done with them, I will tackle this
[16:32:47] <Malignant_Manor> I wish the cheat menu in the original gave the alignment of npcs.
[16:33:41] <Malignant_Manor> I wonder if it changes like Ultima 6 when they attack the Avatar or if it only goes by the flag (and changes the effective alignment against the party that way),
[16:36:06] <Marzo> Malignant_Manor: you can see the alignment in the inspect NPC screen
[16:36:47] <Malignant_Manor> I though you could only change it.
[16:36:53] <Malignant_Manor> Is this SI only?
[16:37:09] <Marzo> BG and SI
[16:37:27] <Marzo> Note that this isn't the modify NPC screen -- it is the inspect NPC screen
[16:37:33] <Marzo> Press I instead of M
[16:37:42] <Malignant_Manor> Okay
[16:41:24] <Malignant_Manor> Summoned guards are chaotic.
[16:41:47] <Malignant_Manor> That should fix them not attacking the party when reloading.
[16:42:33] <Malignant_Manor> Neutral npcs still show as neutral after attacking.
[16:43:29] <Malignant_Manor> Chaotic guards can summon guards.
[16:44:43] <Marzo> > Your goblin hack has charmed goblins in the village as evil.
[16:45:03] <Marzo> I can't see how -- the hack only applies if the goblin is not charmed
[16:46:30] <Malignant_Manor> That is wrong, some will be neutral.
[16:46:33] <Marzo> I will have to add some way of saving the charmed alignment or it will not get restored
[16:46:58] <Malignant_Manor> Neutral will turn to chaotic.
[16:47:12] <Marzo> Chaotic != evil
[16:47:32] <Malignant_Manor> That is wrong refers to what I wrote.
[16:47:43] <Malignant_Manor> I think neutral npcs attacked by the Avatar likely act like they are chaotic.
[16:48:25] <Malignant_Manor> Of course, the charmed alignment would change anyway when you change how alignment works.
[16:51:22] <Malignant_Manor> The bed teleporting doesn't happen when the Avatar sleeps in the bed.
[16:52:23] <Marzo> I just fixed it
[16:52:30] <Marzo> (in SVN)
[16:52:40] <Malignant_Manor> Bed or alignment?
[16:52:44] <Marzo> Bed
[16:53:00] <Marzo> Hm. It seems usecode gets and sets the effective alignment
[16:53:45] <Malignant_Manor> Sets it the same as the attacker most likely.
[16:54:00] <Malignant_Manor> If there is one.
[16:54:26] <Malignant_Manor> Setting it via the menu was buggy as reported.
[16:55:03] <Marzo> (I mean -- in the *original games*, usecode gets and sets the effective alignment)
[16:55:26] <Marzo> I am talking about get_alignment and set_alignment intrinsics
[16:55:41] <Malignant_Manor> Ah
[16:56:19] <Malignant_Manor> Ah, so the other intrinsics are affected and not just the flag setting.
[16:56:31] <Marzo> It would appear that the original saves the original alignment and changes it when someone is charmed
[16:58:39] <Malignant_Manor> Ultima 6 also seems to have ACTOR_STATUS_ATTACK_EVIL and ACTOR_STATUS_ATTACK_GOOD status flags
[16:59:10] <Malignant_Manor> Maybe the kill_npc in Ultima 7 is the attack_good status flag.
[17:00:06] <Marzo> Yes, usecode gets and sets effective alignment in the original
[17:00:39] <Malignant_Manor> Nuvie code uint8 get_old_alignment() { return ((movement_flags & ACTOR_MOVEMENT_FLAGS_OLD_ALIGNMENT_MASK) >> 5) + 1; }
[17:00:49] <Marzo> And setting the charm flag through usecode changes alignment to good
[17:02:00] <Malignant_Manor> Weird, the Avatar casting charm causes npcs to go to his effective alignment.
[17:02:02] <Marzo> So, I will do it like this: if the NPC is charmed, get_effective_alignment will return a new variable, effective_alignment
[17:02:11] <Marzo> Yes, I noticed
[17:02:50] <Marzo> This variable is set to the alignment of whoever cast a charm spell
[17:03:12] <Marzo> set_alignment and get_alignment intrinsics will change effective_alignment if charmed, alignment otherwise
[17:03:31] <Marzo> effective_alignment will be saved and restored
[17:03:31] <Malignant_Manor> Okay
[17:03:57] <Marzo> set_flag(charmed) will set alignment to good, as it seems to be what the original does
[17:04:27] <Marzo> Cheat screen does not alter alignment in the original, so I will have it work like that in Exult too
[17:04:59] <Marzo> And it will only set the flag
[17:26:01] <Malignant_Manor> Paralyzed actors stand up when the sleep flag is unset.
[17:36:02] <Malignant_Manor> Marzo, find_witness doesn't fix the attack_avatar guard calls in fight_back. The parameter should be 0 instead of 1 + rand()%2 when npcs cannot act
[17:36:40] <Marzo> How is it misbehaving so it needs to be fixed?
[17:37:16] <Malignant_Manor> Why attacked, fight back calls attack_avatar with neutral npcs.
[17:37:44] <Malignant_Manor> This should be called but not with guards when they are asleep (flag) or paralyzed.
[17:37:55] <Marzo> I still don't understand; please talk to me as if I had no clue what you are talking about
[17:40:48] --> redwar has joined #exult
[17:42:06] <Malignant_Manor> http://pastebin.com/U9Azzjz0
[17:42:36] <Malignant_Manor> Something like that but probably written better.
[17:43:11] <Marzo> Ah
[17:43:26] <Marzo> Will look into it once I am done with alignment
[17:43:32] <-- redwar has left IRC (Remote host closed the connection)
[18:18:38] <Marzo> Hrm. Point blank attacks with bows are missing for some reason
[18:48:16] <Marzo> No charm spells in SI? That makes testing harder
[18:48:33] <Malignant_Manor> betray
[18:48:56] <Marzo> Oh
[18:48:59] <Malignant_Manor> It is in the beginning spellbook. Just add the ring of reagents.
[18:49:00] <Marzo> Thanks
[18:49:12] <Marzo> Or turn on archwizard mode
[18:49:38] <Malignant_Manor> Oh. I thought you were testing the original.
[18:49:47] <Marzo> In Exult now
[18:51:41] <Marzo> Charm now makes the effective alignment equal to the charmer
[18:51:44] <Marzo> This is saved
[18:52:21] <Marzo> Usecode reads/changes effective alignment -- meaning it changes charmed alignment if charmed, real alignment if not
[18:52:44] <Marzo> Charmed NPCs stop being attacked by their new allies
[18:53:25] <Marzo> Cheat screen sets charmed flag, but keeps original alignment
[18:53:36] <Marzo> Charmed alignment is saved and restored
[18:54:03] <Malignant_Manor> Are called guards chaotic now?
[18:54:33] <Marzo> Still haven't done that, so no
[18:54:55] <Marzo> But I will do it after I commit the charm changes
[18:56:06] <Malignant_Manor> I'm not sure how the call guards logic is now knowing that the chaotic guards can call them. Maybe they have a neutral base alignment.
[18:58:29] <Malignant_Manor> After your long coding break, I didn't realize that you would keep making changes to Exult.
[19:04:18] <Marzo> I think I understand why only neutral NPCs cared about stealing in the originals
[19:04:27] <Marzo> Evil and chaotic ones are out for your blood
[19:04:41] <Marzo> And 'good' seems to mean 'with the avatar'
[19:05:06] <Marzo> So the evil and chaotic ones would simply attack you, while the good ones would help you
[19:05:13] <Malignant_Manor> I'm wondering about when fighting back though.
[19:05:14] <Marzo> Leaving only neutral
[19:05:35] <Marzo> Fighting back is annoying
[19:05:53] <Malignant_Manor> In reguards to the attacked guards case
[19:10:39] <Marzo> Maybe add local guards as possible witnesses, regardless of alignment?
[19:11:37] <Malignant_Manor> You probably need to add location checks.
[19:12:31] <Marzo> There is a function for that already :-)
[19:13:26] <Malignant_Manor> They probably don't call guards if good
[19:13:52] <Malignant_Manor> well, that would be the fight back friendly fire check
[19:16:40] <Malignant_Manor> I don't think party members should attack neutral actors unless they hit the Avatar when in combat.
[19:16:59] <Marzo> I don't think they do
[19:17:11] <Malignant_Manor> Right now, you can toggle out and back and then they will.
[19:17:20] <Marzo> Neutrals are enemies to no one
[19:17:36] <Marzo> Only for those they were already gunning for
[19:17:37] <Malignant_Manor> They have the Avatar as a target.
[19:18:33] <Malignant_Manor> They will add people who have the Avatar as a target.
[19:18:46] <Marzo> Ah
[19:19:04] <Marzo> I think you were the one that added that, right?
[19:19:19] <Malignant_Manor> I have no idea.
[19:19:23] <Malignant_Manor> I'm not sure
[19:19:29] <Malignant_Manor> I'd have to blame
[19:19:45] <Marzo> I think I will add an arrest-avatar internal schedule for guards
[19:20:27] <Marzo> First step: get close and say the arrest usecode
[19:20:48] <Marzo> If more guards enter the schedule, switch to combat
[19:21:15] <Marzo> This way, saving will not stop the actor from talking to the avatar
[19:21:30] <Marzo> And once schedule changes to combat, they will start in combat mode
[19:26:44] <Malignant_Manor> I think the oppressor part is old but I changed conditions.
[19:28:13] <Malignant_Manor> I've placed #if 0 for it and am testing it.
[19:40:23] <Malignant_Manor> I'm not sure if we should remove 2, 3, and 4 in the pushed back comments.
[19:41:52] <Malignant_Manor> This should already be handled by fight_back but some may be needed for far off npcs.
[19:52:40] <Marzo> What pushed back comments?
[19:53:00] <Malignant_Manor> find_opponents
[19:53:11] <Malignant_Manor> cout << npc->get_name() << " pushed back(2) " << actor->get_name() << endl;
[19:53:14] <Malignant_Manor> etc
[20:00:35] <Marzo> Be back later
[20:16:07] <-- nutron has left IRC (Quit: I must go eat my cheese!)
[20:33:38] <Malignant_Manor> Wis_Sur npc 216 can clip through walls in his house. He even walked all the way through it.
[20:37:41] <Malignant_Manor> When you walk out of the line of sight of neutral npcs, they no longer attack when you get back even if it is just around the corner.
[20:40:37] <Malignant_Manor> That's if you leave combat mode.
[20:41:57] <sh4rm4> https://github.com/rofl0r/exult/blob/6d94196afc9867a502ab10e8c44ab72b45ab45ca/content/bgkeyring/Readme.txt hmm this file only explains how to use a zipfile distribution, but not how to compile the mod from source
[20:43:03] <Dominus> run ./configure --help
[20:43:06] <Malignant_Manor> I know the makefile builds them. Marzo's mods should be up to date.
[20:55:57] <Malignant_Manor> Exploding book bug seems to be from a typo in shape_info.txt
[20:57:44] <Marzo> What typo?
[20:58:35] <Malignant_Manor> Line 1799
[20:58:44] <Malignant_Manor> 240 instead of 250
[20:58:52] <Malignant_Manor> so it runs the normal usecode
[21:00:49] <Malignant_Manor> I just confirmed that this is the problem.
[21:02:02] <Malignant_Manor> 150 also has the same copy/paste error
[21:03:03] <Malignant_Manor> I'll commit the fix in a minute.
[21:07:00] <Malignant_Manor> The commit has been uploaded.
[22:14:48] <-- Malignant_Manor has left IRC (Quit: ChatZilla 0.9.89 [Firefox 18.0/20130104151925])
[22:19:56] <Marzo> sh4rm4: check also the README file in the same directory
[22:20:09] <Marzo> Even that is outdated, though
[22:52:25] --> Kirben has joined #exult
[22:52:25] --- ChanServ gives channel operator status to Kirben