Page 49 of 75

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sat Oct 08, 2016 8:48 pm
by Isaac
zimberzimber wrote:
Isaac wrote:I hope I'm not the last; there is an awful lot of empty space; and in places where there shouldn't be.
What do you mean by empty space?
Gameplay or vision wise?
I haven't been through the whole thing yet, so for the moment, visually. Gameplay-wise some of the rooms I've played are (or at least seem to be) pretty good, but there are holes in the map; same as last time.
**If you meant vision, in the design direction sense... That too maybe.

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sun Oct 09, 2016 1:55 am
by zimberzimber
Mainly because I don't have a solid plan for a room. I have a concept, but don't see it working out because of Grimrocks first person view.


@Isaac I meant visually, just forgot the word. I may be able to help with this though.

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sun Oct 09, 2016 3:01 am
by minmay
zimberzimber wrote:Mainly because I don't have a solid plan for a room. I have a concept, but don't see it working out because of Grimrocks first person view.
CameraComponent. One of my rooms has a top-down view.

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sun Oct 09, 2016 3:07 am
by Isaac
It's a very neat room too. 8-)
(I played quite a bit of that one.)

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sun Oct 09, 2016 5:15 am
by zimberzimber
I'll have to see about it then. Right now I'm focused on my asset pack anyways.

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Sun Oct 09, 2016 3:18 pm
by kelly1111
Looking forward to your asset pack update ... any spoilers?

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Fri Oct 21, 2016 2:30 pm
by AndakRainor
minmay wrote:Grant experience for all kills
In the base game the party only gains experience from a monster's death if they were the ones to deal the killing blow. Monsters killed by environmental hazards, telefragging, crushing, other monsters' projectiles, etc. do not award experience.
It is pretty easy in Grimrock 2 to make all monster deaths award experience instead, even environmental ones.
It's also easy to make experience be awarded to dead/petrified champions, if that is also desired.
I personally support this change quite strongly, it's not fun to lose xp, especially as a punishment for using the environment to your advantage.
I thought about this idea again recently, and would like to implement it. I see you have in mind an easy way to do it. So before I start playing with onDie events the wrong way, I would like to know how you would do it?

I would also like to add this system to my remake of Isle of Nex, in addition to changes I made to the experience curve and monsters scaling for the next version. Maybe it could fit in orrr3 too;
- Required experience to reach next level at current level n is now n*1000 for any integer n, with n>0.
- Monsters gain 5% damage, 5% health, and award 5% more experience per level above level 1.

So with those specific values, you could say that the required kills to reach the next level at level omega are 20 times the kills required to reach level 2. The original game requires 1000 times those kills. I am not sure my numbers are the best they could be, but so far in Isle of Nex, it is fine. I should test with a very very high level party to see if combat does not become stupidly easy or hard. Remember champions also scale with the classes changes I posted in a previous post. (Except the knight's damage output, it could need a fix)...

edit: also, is it possible to change experience farmers get from food?

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Fri Oct 21, 2016 3:18 pm
by THOM
I am still striktly against this modulation. As I said before: In my opinion I don't see why a party should gain XP if they are not involved in killing a certain monster. Or in case of crushing: kill it by a risk-free trick. (On my opinion it is already amazing that a champion gets XP if he/she wasn't involved in the combat.)

Question: Why do you want to have that?

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Fri Oct 21, 2016 3:25 pm
by AndakRainor
I understand why you don't want it, I did not remember your answer though! I thought it was frustrating when it happens by accident in a mod where experience/monsters are limited. Or when You made most of the damage but not the killing blow.

Re: [Open / Signup] One Room Round Robin 3 - Calling All Mod

Posted: Fri Oct 21, 2016 11:17 pm
by minmay
AndakRainor wrote:I thought about this idea again recently, and would like to implement it. I see you have in mind an easy way to do it. So before I start playing with onDie events the wrong way, I would like to know how you would do it?
Here is a quick, hacky method to apply it to an existing dungeon using only the user scripting interface (put it in your init file before defining any monsters):

Code: Select all

local awardXp = function(self)
	local rval = Config.monsterOnDieMap[self.go.name] and Config.monsterOnDieMap[self.go.name](self) or true
	if rval then
		local xp = Config.monsterExpMap[self.go.name]
		if xp then
			xp=math.floor(xp*1.1^(self:getLevel()-1))
			for i=1,4 do
				if party.party:getChampion(i):getEnabled() and not party.party:getChampion(i):hasTrait("farmer") then
					party.party:getChampion(i):gainExp(xp)
				end
			end
			self:showDamageText(string.format("+%d xp",xp),"0xffff88")
		end
		-- oh, while we're at it, fix the phantom flames bug
		if self.go.burning then self.go:removeComponent("burning") end
	end
	return rval
end
local orig_defineObject = defineObject
Config.monsterExpMap = {}
Config.monsterOnDieMap = {}
defineObject = function(def)
	if def.components then for _,c in ipairs(def.components) do
		if c.class == "Monster" then
			Config.monsterExpMap[def.name] = c.exp
			Config.monsterOnDieMap[def.name] = c.onDie
			c.onDie = awardXp
			c.exp = false -- removes the +xp text
		end
	end end
	orig_defineObject(def)
end
MonsterComponent:showDamageText() isn't quite the same as what is used internally to show xp values, though. Also, this method makes MonsterComponent:getExp() useless.