Preparing for 4.2 release
				
					Collapse
				
			
		
	X
- 
	
	
	
		
	
		
	
	
	
	
	
I think it's wrong that shape-changed monsters get the high-end powers of the new shape. You might look like Huan, or even get the hitpoints, but really, you get all the supreme powers too? And what about shape-changing into things with spell powers? Did the shape-changer get an instant education that took years for the actual one to learn?“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
 - 
	
	
	
		
	
		
	
	
	
	
	
The big shapechangers are Maiar, so yeah, I reckon they can do anything they set their minds to.I think it's wrong that shape-changed monsters get the high-end powers of the new shape. You might look like Huan, or even get the hitpoints, but really, you get all the supreme powers too? And what about shape-changing into things with spell powers? Did the shape-changer get an instant education that took years for the actual one to learn?
As far as what the actual mechanics go, when a monster changes currently they just change their race. So they keep their current hitpoints, status effects, and inventory, but for many things it is the race that is looked at - spellcasting and other abilities, hearing, smell, AC are all examples. For detail, look at what is in struct monster_race and what is in struct monster in monster.h. Speed is a special case because, while average speed is defined in the race, speed for an individual monster is allocated at birth, and may be a couple of points above or below average. Consequently speed needs to be changed when the player changes.One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
Just something I spotted while porting some stuff to PWMAngband...
File: player-util.c
One day you should get rid of that "player" global variable... And the "cave" one while you're at it...Code:void player_over_exert(struct player *p, int flag, int chance, int amount) { ... player_stat_dec(player, STAT_CON, perm); ... player_inc_timed(player, TMD_PARALYZED, randint1(amount), ... }PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
OK, new builds up on the nightlies page and angband.live which will probably break savefiles (although probably not if the character's food counter is below 1/2). Changes are a couple of bugfixes plus a biggish rework of food; in detail:- Shapechanging monsters adopt the speed of their new shape
 - Character state of nourishment is now referred to in most places as a percentage
 - There is a permanent hunger meter displaying the percentage, along with the usual hunger descriptions
 - Full now starts at 80% nourished, and the player loses 1 speed with every 2% above that
 - No more gorged status or vomiting
 - Regeneration now goes faster the more nourished the player is, including when they are full
 - Druids' Herbal Healing has been replaced by Rapid Regeneration, which gives phased healing over several turns (as before) at the cost of 10% nourishment per turn, and Herbal Curing, which cures the same status conditions as before plus Black Breath
 - Rangers get Herbal Curing but not Rapid Regeneration
 - Necromancers in the early stage of vampire form where they still get HP and nourishment from their bite attack are immune from slowing due to fullness
 - Satisfy Hunger (both scrolls and spells) now sets the player to 50% nourished; Elvish Waybread sets to 75% (or gives no nourishment if the player is already above 75%)
 
These are quite big changes, which aim to integrate the food system more thoroughly into the game. I think they work well, but let me know how they play.One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
Thanks. You're right, of course, but not tonightJust something I spotted while porting some stuff to PWMAngband...
File: player-util.c
One day you should get rid of that "player" global variable... And the "cave" one while you're at it...Code:void player_over_exert(struct player *p, int flag, int chance, int amount) { ... player_stat_dec(player, STAT_CON, perm); ... player_inc_timed(player, TMD_PARALYZED, randint1(amount), ... }
							
						One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
Looking at the change that adds random attack to bloodlust-affected characters... it involves modifying the process_command() function. Ouch... When I look at this function in PWMAngband... it's a client function. This means modifying the code like in V doesn't prevent anyone from hacking the client and removing/tweaking it. Not something that I would want...
Now looking where I could implement that on the server instead... it seems the best location would be the "has_energy" function which rejects commands if the player doesn't have enough energy to act. Including the code there and returning "false" when a random attack occurs should work fine.PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
File player-attack.c, about shield bashes:
Problem: blows is always 0 (see py_attack), so the x2 buff always applies for all weapons...Code:bool attempt_shield_bash(struct player *p, struct monster *mon, bool *fear, int *blows) { ... /* Players bash more often when they see a real need: */ ... if (weapon->dd * weapon->ds * (*blows) < shield->dd * shield->ds * 3) { /* ... or armed with a puny weapon */ bash_chance *= 2; } }PWMAngband variant maintainer - check https://github.com/draconisPW/PWMAngband (or http://www.mangband.org/forum/viewforum.php?f=9) to learn more about this new variant!Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
FYI, my savefile didn't break and when I started my food was at 99%. Rested and down to 76%, when for a whim I cast Satisfy Hunger (I'm trying out the revamped Ranger class). Food drops to 49%. Shouldn't the Satisfy Hunger verse just do nothing and leave you at 76%?OK, new builds up on the nightlies page and angband.live which will probably break savefiles (although probably not if the character's food counter is below 1/2). Changes are a couple of bugfixes plus a biggish rework of food; in detail:- Satisfy Hunger (both scrolls and spells) now sets the player to 50% nourished; Elvish Waybread sets to 75% (or gives no nourishment if the player is already above 75%)
 
Later I ate two slime molds (yum!) which take me to 83% and slow, so I cast Satisfy Hunger and back to normal 49%. I can also verify that the Satisfy Hunger scroll acts the same way.Last edited by mrfy; June 26, 2019, 16:55.Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
Satisfy Hunger putting you at 50% even when you are above that is by design, I think. It has always been this way: the spell is both a way to cure hunger and to ensure that the next 2 or 30 CCW potions won't leave you gorged.FYI, my savefile didn't break and when I started my food was at 99%. Rested and down to 76%, when for a whim I cast Satisfy Hunger (I'm trying out the revamped Ranger class). Food drops to 49%. Shouldn't the Satisfy Hunger verse just do nothing and leave you at 76%?
Later I ate two slime molds (yum!) which take me to 83% and slow, so I cast Satisfy Hunger and back to normal 49%. I can also verify that the Satisfy Hunger scroll acts the same way.--
Dive fast, die young, leave a high-CHA corpse.Comment
 - 
	
	
	
		
	
		
	
	
	
	
	
While still not a fan of the "hunger" mechanic, though I may be converted over time once I get used to it again, I think these changes make it much more manageable and much less of a "gotcha". Thank you, Nick! One question, I can't tell for certain, but it seems to me that Slow Digestion isn't working very well anymore, if at all. Am I imagining this, or did the changes break Slow Digestion?...a biggish rework of food; in detail:...- Character state of nourishment is now referred to in most places as a percentage
 - There is a permanent hunger meter displaying the percentage, along with the usual hunger descriptions
 - Full now starts at 80% nourished, and the player loses 1 speed with every 2% above that
 - No more gorged status or vomiting
 - Regeneration now goes faster the more nourished the player is, including when they are full
 - Necromancers in the early stage of vampire form where they still get HP and nourishment from their bite attack are immune from slowing due to fullness
 - Satisfy Hunger (both scrolls and spells) now sets the player to 50% nourished; Elvish Waybread sets to 75% (or gives no nourishment if the player is already above 75%)
 
These are quite big changes, which aim to integrate the food system more thoroughly into the game. I think they work well, but let me know how they play.“We're more of the love, blood, and rhetoric school. Well, we can do you blood and love without the rhetoric, and we can do you blood and rhetoric without the love, and we can do you all three concurrent or consecutive. But we can't give you love and rhetoric without the blood. Blood is compulsory. They're all blood, you see.”
― Tom Stoppard, Rosencrantz and Guildenstern are DeadComment
 - 
	
	
	
		
	
		
	
	
	
	
	
It should work just as before - it divides the amount of food digested by 5. Other things have changed around it which may make it feel different; I believe I haven't broken it.
PowerWyrm - keep it up
							
						One for the Dark Lord on his dark throne
In the Land of Mordor where the Shadows lie.Comment
 
Comment